var table;
//使用什么就加什么,没用的可以删掉
layui.use(['form','laydate', 'laypage', 'layer', 'jquery', 'table', 'carousel', 'upload', 'element', 'slider'], function () {
    var layer = layui.layer //弹层
        , $ = layui.jquery//使用ajax
        , laydate = layui.laydate
        ,form = layui.form;
    table = layui.table;
    // 提示信息
    layer.msg('正在卖力加载中...', {
        time: 5000, //5s后自动关闭
    });
    //处理日期
    let str = new Date();
    // console.info(str.getTime());//1615875242934
    // console.info(str.getDate());//16
    // console.info(str.getFullYear());//2021
    // console.info(str.getMonth());//2
    // console.info(str.toLocaleDateString());//2021/3/16
    // console.info(str.toDateString());//Tue Mar 16 2021
    // console.info(str.toString());//Tue Mar 16 2021 14:14:02 GMT+0800 (中国标准时间)
    // console.info(str.toLocaleString());// 2021/3/16 下午2:14:02
    // console.info(str.toLocaleTimeString());//下午2:14:02
    // console.info(str.toTimeString());//14:14:02 GMT+0800 (中国标准时间)
    let month = str.getMonth();
    let year = str.getFullYear();
    let day = year+"-"+(month+1)+"-01";
    if (month < 10){
        month = "0"+month;
    }
    let values = year+"-"+month;
    // document.getElementById("monthDate").value = values;
    var ins22 = laydate.render({//用变量限定可选日期
        elem: '#monthDate'
        , type: 'month'//year 年选择器  time 时间选择器  datetime日期时间选择器
        , min: '2020-09-01'//设置最小
            , max: day//设置最大
        , value: values//初始赋值
        , isInitValue: true//开启初始化赋值
        , btns: ['confirm']  //只出现确定按钮
        , trigger: 'click' //日期只读
        , theme: '#fc6731' //自定义颜色
        , change: function (value, date) {//日期切换的回调
            if (date.year > year){
                ins22.hint('最大年份截止到'+year+'年');
            }else if (date.year === year && date.month > month) {
                ins22.hint('最大月份截止到'+month+'月 <br> 当月不可结算工资');
            }
        }
        , done: function (value, date) {//选中后的回调
            //配置一个透明的询问框
            layer.msg('正在卖力加载中...<br>请不要离开哦', {
                time: 5000, //3.5s后自动关闭
            });
            var dateDay= value.split("-");
            $("#deleteAll").html('<i class="layui-icon layui-icon-delete" style="font-size: 20px;"></i>删除'+dateDay[0]+'年'+dateDay[1]+'月'+'所有数据');
            // layer.alert('你选择的日期是：' + value + '<br>获得的对象是' + JSON.stringify(date));
            // {"year":2021,"month":3,"date":16,"hours":0,"minutes":0,"seconds":0}
            let url = "/logisticsWage/addOrUpdate";
            let dateData = {wageMonth:value};
            $.ajax({
                type:"get",
                url:url ,
                data:dateData,
                dataType:"json",
                success:function(resp){
                    layer.msg(resp.message);
                    if (resp.state === 1) {
                        table.reload('WageList');
                    }
                }
            });
            var data_ = {findAllWage: $("#findAllWage").val(),wageMonth:value};
            //执行重载
            table.reload('WageList', {
                page: {
                    curr: 1//重载从第一页开始
                }, where: data_ //需要传到后台的参数
                ,
            });
        }
        // ,lang: 'en'//国际版
        // ,range: true //范围 ture开启
        // ,range: '~'//范围分隔符号
        // ,calendar: true//开启公历节日
        // , showBottom: false //不出现底部栏
        // , trigger: 'mousedown'//自定义事件
        // , format: 'yyyy年MM月份工资'//自定义格式
    });
    // //自定义重要日
    // laydate.render({
    //     elem: '#test18'
    //     , mark: {
    //         '0-10-14': '生日'
    //         , '0-12-31': '跨年' //每年的日期
    //         , '0-0-10': '工资' //每月某天
    //         , '0-0-15': '月中'
    //         , '2017-8-15': '' //如果为空字符，则默认显示数字+徽章
    //         , '2099-10-14': '呵呵'
    //     }
    //     , done: function (value, date) {
    //         if (date.year === 2017 && date.month === 8 && date.date === 15) { //点击2017年8月15日，弹出提示语
    //             layer.msg('这一天是：中国人民抗日战争胜利72周年');
    //         }
    //     }
    // });

    //执行一个 table 实例
    table.render({
        elem: '#demo'
        , id: 'WageList'
        , height: 500
        , url: '/logisticsWage/findAll?wageMonth='+$("#monthDate").val() //数据接口
        , title: '用户表'
        , page: true //开启分页
        , toolbar: '#toolbarDemo' //开启工具栏，此处显示default默认图标，可以自定义模板，详见文档
        , totalRow: true //开启合计行
        , cols: [[ //表头,sort排序
            {field: 'wageId', title: 'ID', width: 80, sort: true, align: 'center', fixed: 'left',totalRowText:'合计：'}
            , {field: 'staffNum', title: '员工编号', width: 100}
            , {field: 'staffName', title: '员工姓名', width: 110}
            , {field: 'sectionName', title: '员工部门', width: 150}
            , {field: 'mapName', title: '所在地区', width: 150}
            , {field: 'postName', title: '员工职位', width: 150}
            , {field: 'gateTime', title: '本月工时', width: 110, sort: true,totalRow:true}
            , {field: 'wageBasepay', title: '基本工资', width: 100,totalRow:true}
            , {field: 'wagePost', title: ' 岗位工资', width: 100,totalRow:true}
            , {field: 'wageAllowance', title: '补贴', width: 100,totalRow:true}
            , {field: 'wageOvertime', title: '加班补助', width: 100,totalRow:true}
            , {field: 'wageSalary', title: '应发工资', width: 100,totalRow:true}
            , {field: 'wageTax', title: '扣五险一金', width: 100,totalRow:true}
            , {field: 'wageElse', title: '其他扣款', width: 100,totalRow:true}
            , {field: 'wageSum', title: '实发工资', width: 110, sort: true,totalRow:true}
            , {field: 'wageRemark', title: '备注', width: 100}
            , {field:'caoZuo',title: '操作',fixed: 'right', width:100, align: 'center', toolbar: '#barDemo'}
        ]]
        , success: function (map) {//执行成功后回调

        }
    });

    //监听头工具栏事件
    table.on('toolbar(test)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id)
            , data = checkStatus.data; //获取选中的数据
    });

    //监听行工具事件
    table.on('tool(test)', function (obj) { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
        var data = obj.data //获得当前行数据
            , layEvent = obj.event; //获得 lay-event 对应的值
        if (layEvent === 'edit') {//编辑操作
            if (data.wageBasepay === 0.0 && data.wageAllowance === 0.0 && data.wagePost === 0.0){
                //配置一个透明的询问框
                layer.msg('<i class="layui-icon layui-icon-face-surprised" style="font-size: 30px;color: snow"></i>检测到该员工的薪资标准未设定<br>请立即更新！', {
                    time: 10000, //20s后自动关闭
                    btn: ['好的！','ojbk','哦']
                });
            }else {
                layer.open({
                    type: 2
                    , area: ['550px', '500px']//宽 高
                    , fixed: false //不固定
                    ,anim: 0 //0-6的动画形式，-1不开启
                    , maxmin: false//允许全屏最小化
                    ,shade: 0.5 //遮罩透明度
                    ,title:data.staffName+'的薪资信息'
                    , content: '/log-wage/logWageForm.html?wageId='+data.wageId
                    , success: function () {//第二种方法 打开成功后操作子页面
                        layer.msg("正在编辑" + data.staffName + "的数据");
                    }
                });
            }
        }
    });
    let monthDate = $("#monthDate").val();
    let sz = monthDate.split("-");
    let dateData = {year:year,month:month};
    let url = "/logisticsWage/addOrUpdate";
    $.ajax({
        type:"get",
        url:url ,
        data:dateData,
        dataType:"json",
        success:function(resp){
            layer.msg(resp.message);
            if (resp.state === 1) {
                table.reload('WageList');
            }
        }
    });

    $("#selectWage").on("click", function () {//当查询按钮被点击
        layer.msg("正在查询"+$("#findAllWage").val()+"...");
        var data_ = {findAllWage: $("#findAllWage").val()};
        //执行重载
        table.reload('WageList', {
            page: {
                curr: 1//重载从第一页开始
            }, where: data_ //需要传到后台的参数
        });
    });
    $("#deleteAll").html('<i class="layui-icon layui-icon-delete" style="font-size: 20px;"></i>删除'+year+'年'+month+'月'+'所有数据');
    $("#deleteAll").on("click", function () {//当批量删除按钮被点击

        layer.confirm('真的要永久删除当月数据吗？<br>请谨慎操作！', function(index){
            $.ajax({//向服务端发送删除指令
                type:"delete",
                url: '/logisticsWage/deleteObj/'+$("#monthDate").val(),
                dataType:"json",
                success:function(resp){
                    layer.msg(resp.message);
                    if (resp.state === 1) {
                        table.reload('WageList');
                    }
                }
            });
            // layer.close(index);
        });
    });
});
